home *** CD-ROM | disk | FTP | other *** search
- #!/bin/vtcl
- # @(#) purge.tcl 11.3 94/10/03
- # Zibis directory cleanup script
- #
-
- proc exitCB { cbs } {
- VtClose
- exit 0
- }
-
- proc previousCB { cbs } {
-
- global tlabel files list text filename removeB
-
- set pos [VtListGetSelectedItem $list]
-
- if { $pos != ""} {
- set pos [expr $pos-1]
-
- } else {
- set pos 1
-
- }
-
- VtListSelectItem $list -position $pos
-
- set dlog [keylget cbs dialog]
-
- set newFilename [ VtListGetSelectedItem $list -byItemList ]
-
-
- if {$newFilename == ""} {
- set filename $newFilename
- VtSetValues $tlabel -label "Source"
- VtSetValues $text -value {}
- VtSetSensitive $removeB 0
- return
- }
-
- if {[file isdirectory $newFilename] == 1} {
- VtSetValues $tlabel -label "Directory"
- VtSetValues $text -value {}
- VtSetSensitive $removeB 0
- return
- }
-
- if {[catch {open $newFilename "r"} fp] != 0} {
- VtShow\
- [VtErrorDialog [keylget cbs "widget"].errorBox\
- -ok -title "Can't open file"\
- -message "Can't open \"$newFilename\", error was:\n$fp"]
- VtListSelectItem $list -item $filename
- return
- }
-
- set filename $newFilename
- VtSetValues $tlabel -label "Source : $filename"
-
- set textList [read $fp]
- close $fp
-
- VtSetValues $text -value $textList
-
- VtSetSensitive $removeB 1
-
- }
-
-
- proc nextCB { cbs } {
-
- global tlabel files list text filename removeB
-
- set pos [VtListGetSelectedItem $list]
-
- if { $pos != "" && $pos != [expr [llength $files]] } {
- set pos [expr $pos+1]
-
- } else {
- set pos 1
-
- }
-
- VtListSelectItem $list -position $pos
-
- set dlog [keylget cbs dialog]
-
- set newFilename [ VtListGetSelectedItem $list -byItemList ]
-
-
- if {$newFilename == ""} {
- set filename $newFilename
- VtSetValues $tlabel -label "Source :"
- VtSetValues $text -value {}
- VtSetSensitive $removeB 0
- return
- }
-
- if {[file isdirectory $newFilename] == 1} {
- VtSetValues $tlabel -label "Directory : $newFilename"
- VtSetValues $text -value {}
- VtSetSensitive $removeB 0
- return
- }
-
-
- if {[catch {open $newFilename "r"} fp] != 0} {
- VtShow\
- [VtErrorDialog [keylget cbs "widget"].errorBox\
- -ok -title "Can't open file"\
- -message "Can't open \"$newFilen
- ame\", error was:\n$fp"]
- VtListSelectItem $list -item $filename
- return
- }
-
- set filename $newFilename
- VtSetValues $tlabel -label "Source : $filename"
-
- set textList [read $fp]
- close $fp
-
- VtSetValues $text -value $textList
-
- VtSetSensitive $removeB 1
-
- }
-
-
- set filename ""
- proc listCB { cbs } {
- global filename text tlabel removeB list
-
- set dlog [keylget cbs dialog]
- set newFilename [keylget cbs "selectedItemList"]
-
- if {$newFilename == ""} {
- set filename $newFilename
- VtSetValues $tlabel -label "Source :"
- VtSetValues $text -value {}
- VtSetSensitive $removeB 0
- return
- }
-
- if {[file isdirectory $newFilename] == 1} {
- VtSetValues $tlabel -label "Directory : $newFilename"
- VtSetValues $text -value {}
- VtSetSensitive $removeB 0
- return
- }
-
- if {[catch {open $newFilename "r"} fp] != 0} {
- VtShow\
- [VtErrorDialog [keylget cbs "widget"].errorBox\
- -ok -title "Can't open file"\
- -message "Can't open \"$newFilename\", error was:\n$fp"]
- VtListSelectItem $list -item $filename
- return
- }
-
- set filename $newFilename
- VtSetValues $tlabel -label "Source : $filename"
-
- set textList [read $fp]
- close $fp
-
- VtSetValues $text -value $textList
-
- VtSetSensitive $removeB 1
- }
-
- proc removeCBS { cbs } \
- {
- global tog tlabel files list text filename removeB
-
- if {[VtGetValues $tog -value] == 1} \
- {
- set message [ VtMessageDialog form.message \
- -okCallback "do_removeCBS" \
- -ok \
- -cancel \
- -message "Do you really want to remove $filename?"]
- VtShow $message
-
- } else {
- do_removeCBS $cbs
- }
-
- }
-
- proc do_removeCBS { cbs } \
- {
- global tlabel files list text filename removeB
-
- set pos [VtListGetSelectedItem $list ]
-
-
- if {[catch {exec /bin/rm $filename} errorMsg] != 0} \
- {
- VtShow\
- [VtErrorDialog [keylget cbs "widget"].errorBox\
- -ok -title "Can't Remove"\
- -message "Can't remove \"$filename\", error was
- :\n$errorMsg"]
- } else {
-
- set files [lsort [glob -nocomplain * ]]
-
- if { [llength $files] == 0 } {
- VtSetValues $list -itemList $files
- VtSetValues $text -value ""
- VtSetSensitive $removeB 0
-
- } else {
-
- VtSetValues $list -itemList $files
-
- if { [expr 1+[llength $files]] == $pos} {
- VtListSelectItem $list -position [expr $pos-1]
- } else {
- VtListSelectItem $list -position $pos
- }
-
- set dlog [keylget cbs dialog]
-
- set newFilename [ VtListGetSelectedItem $list -byItemList ]
-
-
- if {$newFilename == ""} {
- set filename $newFilename
- VtSetValues $tlabel -label "Source"
- VtSetValues $text -value {}
- VtSetSensitive $removeB 0
- return
- }
-
-
- if {[catch {open $newFilename "r"} fp] != 0} {
- VtShow\
- [VtErrorDialog [keylget cbs "widget"].errorBox\
- -ok -title "Can't open file"\
- -message "Can't open \"$newFilen
- ame\", error was:\n$fp"]
- VtListSelectItem $list -item $filename
- return
- }
-
- set filename $newFilename
- VtSetValues $tlabel -label "Source : $filename"
-
- set textList [read $fp]
- close $fp
-
- VtSetValues $text -value $textList
-
- VtSetSensitive $removeB 1
-
- }
-
- }
-
- }
-
-
- # Mainline code sections....
-
- global tlabel
-
- set ap [VtOpen "purge"]
-
- set form [VtFormDialog $ap.Top\
- -title "Purge"]
-
-
- set llabel [VtLabel $form.llabel\
- -topSide FORM\
- -leftSide FORM\
- -label "Files" ]
-
-
- set files [lsort [glob -nocomplain * ]]
-
- set list [VtList $form.list\
- -selection SINGLE\
- -MOTIF_topOffset 2\
- -rows 10\
- -itemList $files\
- -defaultCallback execCB \
- -callback listCB ]
-
-
- set tlabel [VtLabel $form.tlabel\
- -topSide FORM\
- -leftSide $list\
- -rightSide FORM \
- -label "Source" ]
-
-
- set text [VtText $form.text\
- -leftSide $list\
- -rightSide FORM\
- -topSide $tlabel\
- -rows 40\
- -columns 80\
- -horizontalScrollBar TRUE\
- -verticalScrollBar TRUE\
- -readOnly ]
-
- set rc [VtRowColumn $form.rc\
- -leftSide FORM \
- -topSide NONE\
- -packing COLUMN\
- -bottomSide FORM\
- -horizontal]
-
- VtSetValues $text -bottomSide $rc
- VtSetValues $list -bottomSide $rc
-
-
- set removeB [VtPushButton $rc.removeB\
- -callback "removeCBS "\
- -labelCenter\
- -label Remove]
-
- # make the remove button insensitive
- VtSetSensitive $removeB 0
-
- set nextB [VtPushButton $rc.nextB\
- -callback "nextCB"\
- -labelCenter\
- -label Next]
-
- set previousB [VtPushButton $rc.previousB\
- -callback "previousCB"\
- -labelCenter\
- -label Previous]
-
- set exitB [VtPushButton $rc.exitB\
- -callback "exitCB"\
- -labelCenter\
- -label Exit]
-
- set tog [VtToggleButton $rc.tog \
- -set True \
- -value 1 \
- -label "Confirm"]
-
-
- VtShow $form
-
- VtMainLoop
-